/*
 * $Id: IGameMap.java 52 2010-01-11 01:42:30Z aaron.day $
 */
package org.crazydays.gameplan.map;


import java.awt.image.BufferedImage;
import java.util.Set;

import org.crazydays.gameplan.map.location.Location;

/**
 * IGameMap interface for a game map.
 */
public interface IGameMap
    extends Comparable<IGameMap>
{
    /**
     * Set name.
     * 
     * @param name Name
     */
    public void setName(String name);

    /**
     * Get name.
     * 
     * @return Name
     */
    public String getName();

    /**
     * Set image.
     * 
     * @param image Image
     */
    public void setImage(BufferedImage image);

    /**
     * Get image.
     * 
     * @return Image
     */
    public BufferedImage getImage();

    /**
     * Set geometry.
     * 
     * @param geomentry Geometry
     */
    public void setGeometry(Geometry geomentry);

    /**
     * Get geometry.
     * 
     * @return Geometry
     */
    public Geometry getGeometry();

    /**
     * Set locations.
     * 
     * @param locations Locations
     */
    public void setLocations(Set<Location> locations);

    /**
     * Get locations.
     * 
     * @return Location
     */
    public Set<Location> getLocations();
}
